iT邦幫忙

2022 iThome 鐵人賽

DAY 25
1
DevOps

學會 Kubernetes 然後呢?由 Istio 進入 DevOps 偉大航路系列 第 25

Day25 - 保障 Microservices 安全性,Istio Security 介紹

  • 分享至 

  • xImage
  •  

前言

現今網路世界中駭客的攻擊層出不窮,除了讓使用者的個資外洩之外,也導致企業蒙受巨大損失,所以建立 Application 部署環境時,除了要考慮擴展性、可移植性之外,如何強化安全性也是個重要課題。本篇會介紹 Istio 擁有哪些 Security 功能,幫助我們加密、驗證 Application 流量。

Istio Security 介紹

將應用程式從 Monolithic 改成 Microservices 架構雖然能帶來許多好處,但服務之間的流量增加也讓駭客有機會趁虛而入,所以在使用 Microservices 時會有額外的安全需求,包含需對流量進行加密以抵禦 man-in-the-middle attacks(中間人攻擊),以及在服務設置訪問策略以防未授權的流量進入系統等等,藉此保障服務的安全性。

在 Istio Scurity 提供了許多功能來幫助你解決應用程式的安全問題,包括提供強大的身份認證、TLS 加密等等機制,幫助我們保護服務及數據,達到安全目標如下

Security by dafult (默認安全性)

無需修改程式碼及基礎設施即可保護應用程式。

Defense in depth (深度防禦)

在現有的安全機制下提供更多層的防禦。

Zero-trust network (零信任網路)

在不安全的網路也能建立安全的解決方案。

https://ithelp.ithome.com.tw/upload/images/20221004/20139235ulOJRMCSjB.png

Istio Security Overview,圖片取至 Istio Docoment - Security

而 Istio Security 的實作方法,是在 Control Plane 管理 Certificate、認證策略等安全功能,並讓 Data Plane 中的 Sidecar 保護點對點之間的流量,以達成保護整個 Service Mesh 網路。

https://ithelp.ithome.com.tw/upload/images/20221004/201392357xIZ3dg9zE.png

Istio Security 架構圖,圖片取至 Istio Docoment - Security

Kubernetes 為何需要 mTLS?

看到這裡可能會有一個疑問?用 mTLS 保護外部的流量很重要,但為何 Microservices 內部的流量也需要加密呢?若以抽象化角度看 Kubernetes,流量都在 Cluster 內部,資料的傳輸看似沒什麼安全問題。

https://ithelp.ithome.com.tw/upload/images/20221004/201392359Yibt2mIkB.png

以抽象化的角度看 Kubernetes ,Pod 之間的流量都在系統內部。

但實際上 Kubernetes Cluster 是由好幾個 Node 作爲運算單元所組成,這些 Node 可能放在同個機房也可能放在不同地區,而同一個 Microservices 元件不一定會部署到同個 Node 上,所以元件之間的流量可能會經過 Internet ,若是沒對封包內容進行加密,裡面又有使用者的敏感資訊時,駭客就能擷取封包獲取這些敏感資料。

https://ithelp.ithome.com.tw/upload/images/20221004/20139235zUJDWNMBpT.png

實際上 Kubernetes 由好幾個 Node 形成,Node 之間的流量經過 Internet 時若沒加密就會產生資安問題。

總結

在 Istio 如何實現 Security 功能,其實在安裝時系統就會預設將 mTLS 功能打開,不需要修改程式碼或做額外設定下,也能在不安全的網路中提升應用程式的安全性。


上一篇
Day24 - 使用 Jaeger 蒐集 Tracing 資訊
下一篇
Day26 - 學習 Istio 之路,還有哪些 Tasks 還沒完成
系列文
學會 Kubernetes 然後呢?由 Istio 進入 DevOps 偉大航路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言